Precoding and SDMA support

ABSTRACT

Embodiments are described in connection with enhancing performance in a wireless communication system using codebook technology. According to an embodiment is a method for enhancing performance in a wireless communication environment. The method can include receiving a user preference for a transmission mode, associating the user preference with an entry or entries in a codebook, and assigning the user to a transmission mode corresponding to the entry or entries. The transmission mode can be one of a preceding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA and a diversity. Each entry can correspond to a transmission mode.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser. No. 60/731,014, filed Oct. 27, 2005, entitled “Precoding And SDMA Support,” and U.S. Provisional Application Ser. No. 60/713,029, filed Aug. 30, 2005, entitled “Beam-Space Precoding For SDMA Wireless Communication Systems,” the entireties of both of which are incorporated herein by reference.

BACKGROUND

I. Field

The following description relates generally to wireless communications, and, amongst other things, to preceding and space division multiple access (SDMA) support for wireless communication systems.

II. Background

Wireless networking systems have become a prevalent means by which a large number of people worldwide communicate. Wireless communication devices have become smaller and more powerful to meet consumer needs, which include improved portability and convenience. Users have found many uses for wireless communication devices, such as cellular telephones, personal digital assistants (PDAs) and the like, and demand reliable service and expanded coverage areas.

Performance for a wireless communication system may be enhanced by using beam-formed transmissions within a region to communicate from a base station or access point to the mobile device(s). Such a region can be a service area and can include sub-regions, or sectors. Multiple transmit antennas located at the base station can be used to form beam-formed transmissions, which utilize “beams” that typically cover a narrower area than transmissions using a single transmit antenna. The signal to interference and noise ratio (SINR) is enhanced within the area or sector covered by the beams. The portions of the sector not covered by a beam are referred to as a null region. Mobile devices within this null region generally have an extremely low SINR, resulting in reduced performance and possible data loss. The communication system may use beam steering, in which beams are dynamically directed at particular user devices. During beam steering, beams are redirected as user device(s) change location.

A challenge in communication systems is that the mobile device or receiver is located in a specific portion of an area served by the access point or transmitter. In such cases, where a transmitter has multiple transmit antennas, the signals provided from each antenna need not be combined to provide maximum power at the receiver. In these cases, there may be problems with decoding of the signals received at the receiver.

To overcome the aforementioned, there is a need for techniques to improve the signal-to-noise (SNR) ratio of a wireless link with multiple antennas. The improved SNR can also improve decoding of the signals by the receiver.

SUMMARY

The following presents a simplified summary of one or more embodiments in order to provide a basic understanding of some aspects of such embodiments. This summary is not an extensive overview of the one or more embodiments, and is intended to neither identify key or critical elements of the embodiments nor delineate the scope of such embodiments. Its sole purpose is to present some concepts of the described embodiments in a simplified form as a prelude to the more detailed description that is presented later.

In accordance with one or more embodiments and corresponding disclosure thereof, various aspects are described in connection with wireless communications and enhancing performance of such communications. According to an embodiment is a method for enhancing performance in a wireless communication environment. The method includes receiving a user preference for a transmission mode. The method further includes associating the user preference with an entry or entries in a codebook and assigning the user to a transmission mode corresponding to the entry or entries. The transmission mode is one of a preceding, space division multiple access (SDMA), SDMA precoding, multiple input multiple output (MIMO), MIMO precoding, MIMO-SDMA and a diversity. Each entry can correspond to a transmission mode.

According to some embodiments is a method of determining a user's preference of a transmission mode. The method includes determining channel characteristics of a user, selecting a transmission mode or modes to apply from a codebook, and transmitting an identifier of the mode or modes selected. Determining channel characteristics of a user can include determining by utilizing a CQI, power offsets, signal strengths, and other sector interference information. The mode can be one of a precoding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO-SDMA), MIMO preceding, and a diversity.

According to some embodiments is a wireless communication device that includes a processor and a memory coupled with the processor. The processor can be configured to select a transmission mode of a plurality of transmission modes from a codebook. The transmission mode can be one of a preceding, space division multiple access (SDMA), SDMA precoding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA, and a diversity. Each entry of the codebook can correspond to a mode of transmission. In some embodiments, the processor automatically accesses a different codebook as the device is moved among different base stations or the processor receives a different codebook from which to select a transmission mode as a device is moved among different base stations.

According to some embodiments is a wireless communication device that includes a means for receiving a user preference for a transmission mode. Also included in the device is a means for associating the preference with an entry or entries in a codebook and means for assigning the user to a transmission mode corresponding to the entry or entries. Each entry can correspond to a transmission mode. The transmission mode can be one of a preceding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA and a diversity.

According to some embodiments is a wireless communication device that includes a means for determining channel characteristics of a user, a means for selecting a transmission mode or modes to apply from a codebook, and a means for transmitting an identifier of the mode or modes selected. The means for determining a channel characteristics of a user comprises determining by utilizing a CQI, power offsets, signal strengths, and other sector interference information. The mode can be one of a precoding, space division multiple access (SDMA), SDMA precoding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA, and a diversity.

To the accomplishment of the foregoing and related ends, one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative aspects and are indicative of but a few of the various ways in which the principles of the embodiments may be employed. Other advantages and novel features will become apparent from the following detailed description when considered in conjunction with the drawings and the disclosed embodiments are intended to include all such aspects and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a wireless communication system in accordance with various embodiments presented herein.

FIG. 2 illustrates a multiple access wireless communication system according to various embodiments.

FIG. 3 illustrates a wireless communication system according to one or more embodiments presented herein.

FIG. 4 illustrates a beam pattern for a sector utilizing the disclosed techniques for improving communication in a wireless environment.

FIG. 5 illustrates functional blocks in accordance with various embodiments.

FIG. 6A illustrates a methodology for enhancing performance in a wireless communication environment.

FIG. 6B illustrates a system for enhancing performance in a wireless communication environment.

FIG. 7A illustrates a methodology for determining and reporting a user's preference of a mode(s) or transmission(s) technique in accordance with the various embodiments presented herein.

FIG. 7B illustrates a system for determining and reporting a user's preference of a mode(s) or transmission(s) technique in accordance with the various embodiments presented herein.

FIG. 8 illustrates a system that utilizes the disclosed techniques to increase system capacity in a wireless communication environment in accordance with the one or more embodiment presented herein.

FIG. 9 illustrates a system that utilizes preceding and SDMA to increase system capacity in a wireless communication environment in accordance with the various embodiments.

FIG. 10 illustrates a transmitter and receiver in a multiple access wireless communication system in accordance with the various embodiments presented herein.

DETAILED DESCRIPTION

Various embodiments are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident, however, that such embodiment(s) may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing these embodiments.

As used in this application, the terms “component,” “system,” and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer-readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal).

Furthermore, various embodiments are described herein in connection with a user device. A user device can also be called a system, a subscriber unit, subscriber station, mobile station, mobile device, remote station, access point, base station, remote terminal, access terminal, user terminal, terminal, user agent, or user equipment. A user device can be a cellular telephone, a cordless telephone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a PDA, a handheld device having wireless connection capability, or other processing device(s) connected to a wireless modem.

Moreover, various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).

Referring now to the drawings, FIG. 1 illustrates a wireless communication system 100 in accordance with various embodiments presented herein. Various modes can be utilized to improve communication in wireless system 100 including pre-coding, SDMA, SDMA pre-coding, multiple input and multiple output (MIMO), MIMO pre-coding, and/or MIMO-SDMA, and a diversity. As illustrated, a mobile device 102 is in wireless communication with a base station 104. It should be appreciated that while one mobile device 102 and one base station 104 are illustrated for simplicity, there can be more than one of each.

Base station 104 includes transmit antennas that can generate beams covering predetermined areas, resulting in a fixed beam pattern. Base station 104 supports techniques such as preceding, SDMA, SDMA precoding, MIMO, MIMO precoding, and/or MIMO-SDMA. Base station 104 performs pre-processing for whichever technique is utilized. For example, for preceding, a particular vector is utilized that can modulate all of a user's transmissions for some time period. For MIMO preceding, a set of vectors can be used to modulate the transmissions from base station 104.

Codebook 106 contains entries of different vectors and/or matrices that may correspond to multiple transmission modes, such information can be pre-defined. Each entry can correspond to a mode of transmission or a form of spatial processing (e.g., precoding, MIMO precoding, SDMA, SDMA with preceding, MIMO-SDMA, etc.). For example, codebook 106 can contain a set of sixty-four entries, however, there can be any number of entries and sixty-four is an arbitrary number. Codebook 106 can be customized for base station(s) 104 or sectors or mobile device(s) 102 in communication with base station(s) 104. For example and not limitation purposes, codebook 106 can support a plurality of users applying the transmission modes described herein. It should be noted that while one codebook is shown 106, there can be more than one codebook in system 100 and more than one codebook 106 can be associated mobile device 102 and/or base station 104.

Mobile device 102 can notify base station 104 of the entries that mobile device 102 would like. Codebook 106 can be known a priori by either or both the mobile device 102 and the base station 104. For example, base station 104 can notify mobile device 102 of its codebook 106. As the mobile device 102 moves among different base stations 104, the codebook 106 would be changed for the particular base station 104. This codebook change can be performed automatically by the mobile device 102 autonomously (e.g., by a processor accessing the different codebook) or by base station 104 notifying mobile device 102 of the change.

In SDMA, multiple users may be scheduled simultaneously on the same time-frequency resource where their spatial signatures may be distinguished. In SDMA, a sector is split into virtual sectors such that user devices in the different regions share the same channel resources, thereby achieving higher spatial reuse. There might be a separate transmission mode that potentially provides robust signaling. This transmission mode may be used to transmit control and/or broadcast data. Every virtual sector could be further subdivided into a set of narrower spatial beams so that a particular beam (or linear combination of beams) within a virtual sector can be applied to a particular user device, thereby increasing antenna gain to the user device and limiting spatial spread of the interference created by the transmission.

SDMA is useful in high SNR scenarios when the capacity is near the non-linear region. In these embodiments, overlapping multiple users increases the number of available channels (dimensionality) at the cost of decreased SNR to each user. Given that at high SNR the users are in the non-linear capacity region, this approach increases system capacity. On the other hand, in low SNR regimes (linear region of the capacity curve), it is usually not beneficial to take power away from a user while increasing the dimensions. In these embodiments, it is beneficial to increase the SNR of the user through techniques, such as preceding where the precoding could be over multiple streams or flows of information (MIMO precoding). These embodiments utilize a pre-defined set of beams to transmit to the user. In a MIMO scheme, there are multiple streams transmitted to the same user, wherein the data can be transmitted along multiple eigen-vector directions.

Utilizing the disclosed techniques, seamless operation of multiple input single output/multiple input multiple output (MISO/MIMO) precoding and SDMA is enabled by applying precoding in the beam-space of SDMA beams. Specifically, if there are a few virtual sectors where SDMA is enabled, each such region further consists of a set of narrow spatial beams. These narrow beams form a basis for the transmissions that occur within that virtual sector.

The decision of which mode to utilize (preceding, SDMA, SDMA and preceding, MIMO, MIMO and preceding, or MIMO and SDMA) can be based on one or more channel conditions. A channel quality indicator (CQI) technique can be used to determine which vector to use, e.g. provides the highest or lowest value. For precoding, a particular entry can be utilized that pre-processes the user's transmissions. For MIMO precoding a set of vectors can be utilized to pre-process the base station's transmissions. Precoding provides a higher SNR, potentially resulting in better performance.

FIG. 2 illustrates a multiple access wireless communication system 200 according to various embodiments. A multiple access wireless communication system 200 includes multiple cells, e.g. cells 202, 204, and 206. In the embodiment of FIG. 2, each cell 202, 204, and 206 may include an access point 250 that includes multiple sectors. The multiple sectors are formed by groups of antennas each responsible for communication with access terminals in a portion of the cell. In cell 202, antenna groups 212, 214, and 216 each correspond to a different sector. In cell 204, antenna groups 218, 220, and 222 each correspond to a different sector. In cell 206, antenna groups 224, 226, and 228 each correspond to a different sector.

Each cell includes several access terminals, which are in communication with one or more sectors of each access point. For example, access terminals 230 and 232 are in communication with base station or access point 242, access terminals 234 and 236 are in communication with access point 244, and access terminals 238 and 240 are in communication with access point 246.

As illustrated in FIG. 2 each access terminal 230, 232, 234, 236, 238, and 240 is located in a different portion of it respective cell than the other access terminal(s) in the same cell. Further, each access terminal may be a different distance from the corresponding antenna groups with which it is communicating. Both of these factors provide situations, also due to environmental and other conditions in the cell that can cause different channel conditions to be present between each access terminal and its corresponding antenna group with which it is communicating.

As used herein, an access point may be a fixed station used for communicating with the terminals and may also be referred to as, and include some or all the functionality of, a base station, a Node B, or some other terminology. An access terminal may also be referred to as, and include some or all the functionality of, a user equipment (UE), a wireless communication device, a terminal, a mobile station or some other terminology.

In some embodiments, a set of known orthogonal or quasi-orthogonal vectors or matrices may be utilized at the base-station in order to provide SDMA (e.g. fixed or adaptive sectors). If the base station is aware of the vectors or beams for every user, it can allocate the same channel for different users if they utilize orthogonal or quasi-orthogonal vectors or matrices. In other embodiments, system 200 may include an omni-directional beam that corresponds to no preceding. The base station would use this beam for broadcast or multicast transmissions. In farther embodiments, the system 200 may utilize preceding without SDMA if such channel information is reported to the user.

FIG. 3 illustrates a wireless communication system 300 according to one or more embodiments presented herein. A three-sector base station 302 can include multiple antenna groups. For example, one group can include antennas 304 and 306, another group can include antennas 308 and 310, and a third group can include antennas 312 and 314. Two antennas are illustrated for each antenna group, however, more or fewer antennas may be utilized for each antenna group. Mobile device 316 is in communication with antennas 312 and 314, where antennas 312 and 314 transmit information to mobile device 316 over a forward link 318 and receive information from mobile device 316 over a reverse link 320. Mobile device 322 is in communication with antennas 304 and 306, where antennas 304 and 306 transmit information to mobile device 322 over forward link 324 and receive information from mobile device 322 over reverse link 326.

Each group of antennas and/or the area in which they are designated to communicate may be referred to as a sector of base station 302. In one or more embodiments, antenna groups are designed to communicate to mobile devices in a sector of the areas covered by base station 302. Beam-forming techniques can be utilized to provide fixed transmit directions in sectors or may be utilized in lieu of sectors. For example, beam patterns may provide multiple transmit directions in the sectors of a three-sector base station, resulting in a virtual six-sector base station. This ability to subdivide sectors can result in increased system capacity.

SDMA, MIMO and/or opportunistic beam-forming can be used with frequency division systems such as an orthogonal frequency division multiple access (OFDMA) system. An OFDMA system partitions the overall system bandwidth into multiple orthogonal subcarriers. These subcarriers are also referred to as tones, carriers, subcarriers, bins, and/or frequency channels. Each subcarrier is associated with a subcarrier that can be modulated with data. An OFDMA system may use time and/or frequency division multiplexing to achieve orthogonality among multiple data transmissions for multiple user devices. Groups of user devices can be allocated separate subcarriers, and the data transmission for each user device may be sent on the subcarrier(s) allocated to this user device. SDMA, MIMO and/or opportunistic beam-forning can be implemented for user devices allocated to different frequency regions.

In a beam-formed transmission system, sectors are portioned using separate beams. User devices served by a base station sector can indicate a preference for a given beam. The base station may schedule transmission with the user device on the given beam using SDMA, MIMO, opportunistic beam-forming or other scheduling methods. In addition, beam-forming with a fixed beam pattern allows a base station to utilize SDMA, MIMO and opportunistic beam-forming scheduling techniques simultaneously. For example, spatially orthogonal user devices may be scheduled using SDMA, user devices with well-conditioned matrix channels could be scheduled using MIMO and additional users could be scheduled using opportunistic beam-forming.

System 300 may utilize beam-forming in conjunction with preceding techniques. Precoding is generally a quantized representation of a space of vectors where different entries of a vector are applied to different transmit antennas. In the case of MIMO with multiple data streams, precoding may consist of a set of vectors where each vector corresponds to a certain MIMO stream. It should be noted that multiple data streams may include a multi-layer MIMO transmission with successive cancellation, a single or multi-codeword transmission with data symbols multiplexed over multiple transmit antennas.

In some embodiments, precoding weights can be selected from preceding matrices where every row corresponds to certain transmit antenna while every column corresponds to a MIMO stream. For such MIMO preceding, either a scalar or a vector quantization may be applied. For scalar quantization, the coefficients of a precoding matrix are quantized independently. For vector quantization, the entire preceding matrix is associated with a particular quantization index. It should be noted that space quantization accuracy is inherently related to the amount of feedback needed to report the desired quantization index to the transmit site (base station) by the receive site (user device) that usually has a better knowledge of channel conditions. Vector quantization can be more efficient whenever the overhead is expensive. As an example, a 6-bit representation of a quantization index (hence 64 preceding matrices) per static channel bin may approach performance of the optimal (continuous) feedback in a 4×4 MIMO system. It should be noted that static channel bin refers to a time-frequency region where channel is nearly constant.

FIG. 4 illustrates a beam pattern 400 for a sector 402 utilizing the disclosed techniques for improving communication in a wireless environment. Sector 402 includes a number of virtual sectors including a number of beams 404 transmitted from an access point 406. The illustrated beams 404 represent two separate combination of beams sets, having five beams each. It should be understood that more or fewer beam combinations and/or subset of beams could be utilized with the disclosed embodiments. For example, any combination of narrower beams in the set can be utilized to improve directionality. Each beam may be associated with a group of precoding weights, which, in some embodiments, may correspond to unitary matrices that may be utilized for precoding. In some embodiments, the combination of beams with precoding weights in a given virtual sector is quasi-orthogonal with respect to every other combination of beams with preceding weights in each other virtual sector. It should be noted, that some beams (e.g. those at the edges of virtual sectors) may be protected from being subject to precoding weights in order to prevent interference or leakage problems. If a preceding mode is utilized, the “beams” are transmitted and do not overlap. In MIMO mode, the multiple combinations of “beams” are utilized.

Unlike standard precoding wherein preceding weights (e.g., rows of precoding matrices) are applied to different transmit antennas directly, according to some embodiments, the preceding coefficients are applied to the beams. This approach can allow an arbitrary linear combination of beams to be constructed within a virtual sector, based on the channel knowledge. Therefore, a high precoding efficiency can be achieved over a virtual sector, provided the region is wide enough to capture most of the channel energy corresponding to a particular user device.

This approach can also ensure that the linear combinations are quasi-orthogonal to the linear combination of beams within other virtual sectors. Therefore, user devices can be assigned the same resources in different virtual sectors while mutual (intra-sector) interference is kept low.

In other embodiments, virtual sectors are defined in terms of average spatial covariance matrices and preceding matrices are generated for every region as (pseudo)-random realizations of matrices with the average covariance matrix defined for the region. By choosing quasi-orthogonal average covariance matrices for different regions, a low level of intra-cell interference can be achieved when user devices are assigned the same resources on different virtual sectors.

The decision to put a particular user device in a mode of utilizing beam and preceding weight combinations may be based upon scheduling the same resources to another user device on a different virtual sector and such determination can be made by the access point. This determination can be based on the channel quality reported by the user device for the desired preceding matrix. The determination can also, among other things, be based on the channel strength with respect to other virtual sectors that can cause intra-sector interference once in SDMA mode.

For user devices that are not scheduled to use the beam and precoding weight combination, the precoding may be performed over a virtual sector that includes the entire sector. In this embodiment, preceding matrices can be defined either with respect to transmit antennas, which is the classic approach, or with respect to the beams.

It should be noted that beam-space preceding could be beneficial to support SDMA because it gives a natural way to limit interference between users scheduled for the same resources on a different virtual sector. Precoding with respect to transmit antennas allows definition of a family of preceding matrices such that, for any precoding matrix, every antenna transmits the same amount of power. This can be beneficial in thermal-limited environments (e.g., large cells, limited link budget), where it may be desirable to transmit at the maximum power level. In some embodiments, precoding in the space of transmit antennas is utilized for non-SDMA user devices. Also, in some embodiments, there may be no precoding and/or SDMA applied for broadcast transmissions.

FIG. 5 illustrates functional blocks of a system 500 in accordance with various embodiments. These functional blocks represent functions implemented by a processor, software or combination thereof (e.g., firmware). Included are a beam generator 502, an assigner 504, a scheduler 506, and a communicator 508 that interface with each other. While four functional blocks are shown, there can be more or fewer functional blocks and some functional blocks can be combined or separated according to the various embodiments presented herein.

Beam generator 502 can be configured to pre-process signals with one or more vectors and/or one or more vector combinations or sets. For example, beam generator 502 can generate a first vector or vector set having a coverage area. Beam generator 502 can further generate a second (third, fourth, etc.) vector or vector set that has a substantially different or slightly different coverage area than the coverage area of the first vector or vector set. In such a manner, the vector or vector sets generated should not overlap and may be orthogonal. In other embodiments, the second vectors (or vector sets) can have the same coverage area as the first vector (or vector set).

Assigner 504 can be configured to assign one or more user devices to the first beam or beam set. Assigner 504 can be associated with a codebook that contains a predefined set of vectors from which an access terminal can choose. Each entry in the codebook can correspond to a type of vectors. Thus, assigner 504 can associate the user preference with an entry or entries in a codebook. For example, one entry can be a vector that corresponds to precoding. Another entry can correspond to two vectors utilized for MIMO precoding, wherein each column in a matrix would be a vector. Yet another entry can be a set of matrices, each set corresponding to one SDMA cluster. The SDMA users should be separated by having sufficiently separate beams at the transmitter, or access point. If two users overlap, they should only overlap if they get beams from different clusters. For example, if two users want transmissions from one cluster, one or both users are sent to different entries in the codebook, and SDMA is not used for these users.

A precoding technique can be utilized to associate a particular beam (or beam set) to a particular user device. Assigner 504 can further be configured to assign a second (third, fourth, etc.) user device to a second (third, fourth, etc.) beam or beam set, which may take into consideration a spatial processing technique. In other embodiments, assigner 504 can assign first user device to the second (and subsequent) beam or beam sets if only precoding will be utilized. According to some embodiments, assigner 504 can determine a channel characteristic of the user.

Scheduler 506 can be configured to schedule communication for the user devices based upon space division multiple access (SDMA), multiple input multiple output (MIMO), and/or opportunistic beam-forming scheduling techniques or to a transmission mode (e.g., preceding, SDMA, SDMA precoding, MIMO, MIMO preceding, MIMO-SDMA, diversity). Such scheduling should be optimized to enhance performance in a wireless communication environment. Scheduler 506 can select one or more transmission modes to apply. The selection can correspond to the entry or entries in the codebook.

Communicator 508 (or transmitter/receiver) can be configured to receive information from each user device regarding a beam or beam set preference. For example, communicator 508 can receive a user preference for a transmission mode. Communicator 508 can also be configured to transmit the identifier of the mode or modes selected. In such a manner, communicator 508 can interface with the other functional blocks in order to locate two or more user devices that can share the resources of a common access point.

FIG. 6A illustrates a methodology for enhancing performance in a wireless communication environment. The method 600 begins, at 602, where a user preference is received based on a plurality of criteria determined by the user mobile device. The user preference may comprise a preference identifying the mode, multiple modes along with related CQIs for some or all of the modes, differentials between the CQIs for one or more modes, CQI, or other information that is capable of being utilized to determine this preference.

At 604, a codebook is read to determine what mode and specific vector, or vectors, or matrix, or matrices, correspond to the user preference, e.g. correspond to a quantized index that was included in the user preference. The reading of the codebook can be performed by associating the received preference with an entry or entries in the codebook. At 606, the user can be assigned to the particular spatial processing mode or transmission mode utilizing the specific vector, or vectors, or matrix, or matrices. The particular transmission mode can correspond to the entry or entries in the codebook that correspond to the user preference.

Associating the entries in the codebook to a particular spatial processing mode can take many forms. It should be understood that the following discussion is for example purposes only and not limitation. For example, a set of entries can correspond to preceding, which can be utilized for a plurality of users that are in line-of-sight operation. To define this plurality of users, beam-steering vectors are defined and can be utilized for the line of sight users.

Another set of entries can be a linear combination of beam-steering vectors. These beam-steering vectors can be pointing in a certain direction in a sector. Thus, not every user will be in line-of-sight and can utilize linear combinations of these beam-steering vectors. Another set of entries in the codebook can correspond to these linear combinations, e.g., a set of combinations that include any number of combinations (2, 3, 4, etc.). It should be noted that a first set of entries can be called “beams” and the next set of entries can be linear combinations of the beams. The access point can use these pre-defined beams.

According to MIMO, a set of entries can be defined where each entry includes two, three, four, five, etc. vectors. Each column of the matrices may be a linear combination of the beams. A means to differentiate the columns can be ascertaining the differences of the linear combination across the columns. For example, column 1 is a linear combination of beams 1, 2, and 3 and column 2 is a linear combination of beams 2, 5, and 6. A third set of entries can be a matrix, wherein each column can be a linear combination of beams.

For an SDMA example, a defined first set of beams can be pointing in a certain direction in a sector. To perform grouping on the beams, all beams can be pointed at a 30 degree angle, for example. One sector may be divided into two or more virtual sectors wherein all beams within a virtual sector are grouped and all beams in another virtual sector are grouped, separate from the first group. These beams are essentially clustered based on which direction they are pointing. Thus, if two users prefer beams in separate clusters, and user 1 prefers beams in cluster 1 and user 2 prefers beams in cluster 2, SDMA can be utilized with user 1 and user 2. These beams are allowed to overlap. Precoding with SDMA can be described as a mode where a user is assigned to a beam that is a linear combination of beams in a cluster.

FIG. 6B illustrates a system for enhancing performance in a wireless communication environment. The means 610 for interpreting a user preference is coupled with means 612 for reading a codebook to determine what mode and specific vector, or vectors, or matrix, or matrices, correspond to the user preference, e.g. correspond to a quantized index that was included in the user preference. The reading of the codebook can be performed by associating the received preference with an entry or entries in the codebook. Means 612 is coupled to means 614 for assigning the user to the particular spatial processing mode or transmission mode from the codebook utilizing the specific vector, or vectors, or matrix, or matrices.

FIG. 7A illustrates a methodology 700 for determining and reporting a user' preference of a mode(s) or transmission(s) technique in accordance with the various embodiments presented herein. According to the methodology, one or more channel characteristics for a user are determined, at block 702. The channel characteristics may be one or more CQIs for each, some, or all of the transmission techniques or modes, and their combinations, available to the user. These modes include SDMA, SDMA preceding, preceding, MIMO-SDMA, MIMO preceding, diversity mode, and/or the like. Further, the channel characteristics may include transmission power offsets, signal strengths, other sector interference information, and/or other channel information criteria.

At block 704, a determination is made as to which mode to apply. The determination can be based upon channel characteristics, for example. After a selection of the mode(s) is made, an identifier including the mode is transmitted, at 706.

As discussed above, the modes include SDMA, SDMA preceding, preceding, MIMO-SDMA, MIMO preceding, and/or the like. In order to select whether to use SDMA, SDMA preceding, preceding, MIMO-SDMA, MIMO preceding, diversity mode, and/or the like, certain information should be provided to the base station or transmitter. This information should communicate not only the selection but also information as to which precoding weights or beams and precoding weights to utilize. The user or user device may include one or all of the following metrics in its reporting of channel information, which then may be used to both decide which approach to use as well as which linear combination to utilize in the approach. Metrics that can be utilized and reported include CQI for preceding, CQI for SDMA, and/or CQI for diversity mode. These metrics may be reported in any sets of combinations or exclusively of each other.

The CQI for preceding metric captures the channel quality (e.g., SINR) if a user were to be scheduled on a certain beam (or matrix if MIMO). Usually, the CQI corresponding to the best beam is reported along with the index of the best beam. There may be benefits in feeding back the precoding CQIs (and indices) for the second best beam, third best beam, etc.

The CQI for SDMA metric captures the channel quality, e.g., SINR, if the user were to be scheduled using SDMA. The signal power is computed assuming the user was scheduled on the best beam. In general, the interference is the sum of two quantities. The first quantity is the sum of thermal and the inter-cell interference. The second quantity corresponds to the interference due to a user scheduled on one of the beams in a different cluster. There can be many ways of computing this and two non-limiting embodiments (averaging over adverse beams and single interfering beam) will be described.

In the averaging over adverse beams mode, the interference due to a co-SDMA user is estimated. This estimation assumes that the user may be scheduled on any one of the beams within a different cluster and that a user is scheduled in a spatial cluster. The amount of interference generated from another cluster is the average of the interference created by the beams belonging to that cluster. The total interference is, therefore, the sum of the interference due to the other clusters.

In the single interfering beam mode, the SDMA user assumes that a specific beam is assigned to a user in an interfering SDMA cluster. The interference is therefore just the interference from this one beam. Through utilization of the described or other computations, the user terminal has the available channel information with the signal and interference computed. This can be fed back along with the index of the best (signaling) beam and the index of the interfering beam, if utilizing the single interfering beam mode.

Another metric is the CQI for diversity mode transmission. This metric captures the channel quality if neither preceding nor SDMA is used to schedule the user. This metric allows the system to provide a minimum level of performance for a given user. The idea here is that precoding/SDMA is used only if the precoding/SDMA CQI is greater than the diversity mode CQI. It should be noted that this CQI reports the quality of channel containing diversity mode information.

FIG. 7B illustrates a system for determining and reporting a user' preference of a mode(s) or transmission(s) technique in accordance with the various embodiments presented herein. Means 710 for determining one or more channel characteristics is coupled to means 712 for determining a mode to apply from a codebook based upon the one or more channel characteristics. The channel characteristics may be one or more CQIs for each, some, or all of the transmission techniques or modes, and their combinations, available to the user. The modes include SDMA, SDMA preceding, precoding, MIMO-SDMA, MIMO preceding, diversity mode, and/or the like. Further, the channel characteristics may include transmission power offsets, signal strengths, other sector interference information, and/or other channel information criteria. Means 712 is coupled to means 714 for generating an identifier of the mode, which may then be transmitted to the access point.

FIG. 8 illustrates a system 800 that utilizes the disclosed techniques to increase system capacity in a wireless communication environment in accordance with the one or more embodiment presented herein. System 800 can reside in a base station and/or in a user device, as will be appreciated by one skilled in the art. System 800 includes a receiver 802 that receives a signal from, for instance one or more receive antennas, and performs typical actions thereon (e.g., filters, amplifies, downconverts, . . . ) the received signal and digitizes the conditioned signal to obtain samples. A demodulator 804 can demodulate and provide received pilot symbols to a processor 806 for channel estimation.

Processor 806 can be a processor dedicated to analyzing information received by receiver 802 and/or generating information for transmission by a transmitter 814. Processor 806 can be a processor that controls one or more components of user device 800, and/or a processor that analyzes information received by receiver 802, generates information for transmission by a transmitter 814, and controls one or more components of user device 800. Processor 806 can be configured to select a transmission mode of a plurality of transmission modes from a codebook. User device 800 can include an optimizer 808 that coordinates beam assignments. Optimizer 808 may be incorporated into the processor 806. It is to be appreciated that optimizer 808 can include optimization code that performs utility based analysis in connection with assigning user devices to beams. The optimization code can utilize artificial intelligence based methods in connection with performing inference and/or probabilistic determinations and/or statistical-based determinations in connection with optimizing user device beam assignments.

User device 800 can additionally comprise memory 810 that is operatively coupled to processor 806 and that stores information related to beam pattern information, lookup tables comprising information related thereto, and other suitable information related to beam-forming as described herein. Memory 810 can additionally store protocols associated with generating lookup tables, etc., such that user device 800 can employ stored protocols and/or algorithms to increase system capacity. It will be appreciated that the data store (e.g., memories) components described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory 810 of the subject systems and methods is intended to comprise, without being limited to, these and other suitable types of memory. The processor 806 is connected to a symbol modulator 812 and transmitter 814 that transmits the modulated signal.

FIG. 9 illustrates a system that utilizes precoding and SDMA to increase system capacity in a wireless communication environment in accordance with the various embodiments. System 900 comprises a base station 902 with a receiver 910 that receives signal(s) from one or more user devices 904 through one or more receive antennas 906, and transmits to the one or more user devices 904 through a plurality of transmit antennas 908. In one or more embodiments, receive antennas 906 and transmit antennas 908 can be implemented using a single set of antennas. Receiver 910 can receive information from receive antennas 906 and is operatively associated with a demodulator 912 that demodulates received information. Receiver 910 can be, for example, a Rake receiver (e.g., a technique that individually processes multi-path signal components using a plurality of baseband correlators, . . . ), an MMSE-based receiver, or some other suitable receiver for separating out user devices assigned thereto, as will be appreciated by one skilled in the art. According to various aspects, multiple receivers can be employed (e.g., one per receive antenna), and such receivers can communicate with each other to provide improved estimates of user data. Demodulated symbols are analyzed by a processor 914 that is similar to the processor described above with regard to FIG. 8, and is coupled to a memory 916 that stores information related to user device assignments, lookup tables related thereto and the like. Receiver output for each antenna can be jointly processed by receiver 910 and/or processor 914. A modulator 918 can multiplex the signal for transmission by a transmitter 920 through transmit antennas 908 to user devices 904.

Base station 902 further comprises an assigner 922, which can be a processor distinct from or integral to processor 914, and which can evaluate a pool of all user devices in a sector served by base station 904 and can assign user devices to beams based at least in part upon the location of the individual user devices, a preceding scheme, or a resource sharing scheme.

FIG. 10 illustrates a transmitter and receiver in a multiple access wireless communication system 1000 according to various embodiments presented herein. Wireless communication system 1000 depicts one base station and one user device for sake of brevity. However, it is to be appreciated that the system can include more than one base station and/or more than one user device, wherein additional base stations and/or user devices can be substantially similar or different from the exemplary base station and user device described below. In addition, it is to be appreciated that the base station and/or the user device can employ the systems and/or methods described herein to facilitate wireless communication there between.

At transmitter system 1010, traffic data for a number of data streams is provided from a data source 1012 to a transmit (TX) data processor 1014. In some embodiments, each data stream is transmitted over a respective transmit antenna. TX data processor 1014 formats, codes, and interleaves the traffic data for each data stream based on a particular coding scheme selected for that data stream to provide coded data. In some embodiments, TX data processor 1014 applies beam-forming weights to the symbols of the data streams based upon the user to which the symbols are being transmitted and the antenna from which the symbol is being transmitted. In some embodiments, the beam-forming weights may be generated based upon channel response information that is indicative of the condition of the transmission paths between the access point and the access terminal. The channel response information may be generated utilizing CQI information or channel estimates provided by the user. Further, in those cases of scheduled transmissions, the TX data processor 1014 can select the packet format based upon rank information that is transmitted from the user.

The coded data for each data stream may be multiplexed with pilot data using OFDM techniques. The pilot data is typically a known data pattern that is processed in a known manner and may be used at the receiver system to estimate the channel response. The multiplexed pilot and coded data for each data stream is then modulated (e.g., symbol mapped) based on a particular modulation scheme (e.g., BPSK, QSPK, M-PSK, or M-QAM) selected for that data stream to provide modulation symbols. The data rate, coding, and modulation for each data stream may be determined by instructions performed or provided by processor 1030. In some embodiments, the number of parallel spatial streams may be varied according to the rank information that is transmitted from the user.

The modulation symbols for the data streams are provided to a TX MIMO processor 1020, which may further process the modulation symbols (e.g., for OFDM). TX MIMO processor 1020 provides NT symbol streams to NT transmitters (TMTR) 1022 a through 1022 t. In some embodiments, TX MIMO processor 1020 applies beam-forming weights to the symbols of the data streams based upon the user to which the symbols are being transmitted and the antenna from which the symbol is being transmitted from that users channel response information.

Each transmitter 1022 receives and processes a respective symbol stream to provide one or more analog signals, and further conditions (e.g., amplifies, filters, and upconverts) the analog signals to provide a modulated signal suitable for transmission over the MIMO channel. NT modulated signals from transmitters 1022 a through 1022 t are transmitted from NT antennas 1024 a through 1024 t, respectively.

At receiver system 1050, the transmitted modulated signals are received by NR antennas 1052 a through 1052 r and the received signal from each antenna 1052 is provided to a respective receiver (RCVR) 1054. Each receiver 1054 conditions (e.g., filters, amplifies, and downconverts) a respective received signal, digitizes the conditioned signal to provide samples, and further processes the samples to provide a corresponding “received” symbol stream.

An RX data processor 1060 then receives and processes the NR received symbol streams from NR receivers 1054 based on a particular receiver processing technique to provide the rank number of “detected” symbol streams. The processing by RX data processor 1060 is described in further detail below. Each detected symbol stream includes symbols that are estimates of the modulation symbols transmitted for the corresponding data stream. RX data processor 1060 then demodulates, deinterleaves, and decodes each detected symbol stream to recover the traffic data for the data stream. The processing by RX data processor 1060 is complementary to that performed by TX MIMO processor 1020 and TX data processor 1014 at transmitter system 1010.

The channel response estimate generated by RX processor 1060 may be used to perform space, space/time processing at the receiver, adjust power levels, change modulation rates or schemes, or other actions. RX processor 1060 may further estimate the signal-to-noise-and-interference ratios (SNRs) of the detected symbol streams, and possibly other channel characteristics, and provides these quantities to a processor 1070. RX data processor 1060 or processor 1070 may further derive an estimate of the “effective” SNR for the system. Processor 1070 then provides estimated channel information (CSI), which may comprise various types of information regarding the communication link and/or the received data stream. For example, the CSI may comprise only the operating SNR. The CSI is then processed by a TX data processor 1038, which also receives traffic data for a number of data streams from a data source 1076, modulated by a modulator 1080, conditioned by transmitters 1054 a through 1054 r, and transmitted back to transmitter system 1010.

At transmitter system 1010, the modulated signals from receiver system 1050 are received by antennas 1024, conditioned by receivers 1022, demodulated by a demodulator 1040, and processed by a RX data processor 1042 to recover the CSI reported by the receiver system. The reported CSI is then provided to processor 1030 and used to (1) determine the data rates and coding and modulation schemes to be used for the data streams and (2) generate various controls for TX data processor 1014 and TX MIMO processor 1020.

At the receiver, various processing techniques may be used to process the NR received signals to detect the NT transmitted symbol streams. These receiver processing techniques may be grouped into two primary categories (i) spatial and space-time receiver processing techniques (which are also referred to as equalization techniques); and (ii) “successive nulling/equalization and interference cancellation” receiver processing technique (which is also referred to as “successive interference cancellation” or “successive cancellation” receiver processing technique).

A MIMO channel formed by the NT transmit and NR receive antennas may be decomposed into Ns independent channels, with N_(S)≦min {N_(T), N_(R)}. Each of the N_(S) independent channels may also be referred to as a spatial subchannel (or a transmission channel) of the MIMO channel and corresponds to a dimension.

It is to be understood that the embodiments described herein may be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof. For a hardware implementation, the processing units within an access point or an access terminal may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.

When the embodiments are implemented in software, firmware, middleware or microcode, program code or code segments, they may be stored in a machine-readable medium, such as a storage component. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted using any suitable means including memory sharing, message passing, token passing, network transmission, etc.

For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in memory units and executed by processors. The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor through various means as is known in the art.

What has been described above includes examples of one or more embodiments to enable a person skilled in the art to make or use the features, functions, operations, and embodiments disclosed herein. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the aforementioned embodiments, but one of ordinary skill in the art may recognize that many further combinations and permutations of various embodiments are possible. Accordingly, the described embodiments are intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim. 

1. A method for enhancing performance in a wireless communication environment, comprising: receiving a user preference for a transmission mode; associating the user preference with an entry or entries in a codebook; and assigning the user to a transmission mode corresponding to the entry or entries.
 2. The method of claim 1, associating the user preference with an entry or entries in a codebook comprising reading a codebook to determine a mode and at least one vector or at least one matrix that corresponds to the user preference.
 3. The method of claim 1, wherein the codebook includes entries for transmission modes including precoding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA and a diversity.
 4. The method of claim 1, wherein each entry corresponds to a transmission mode.
 5. The method of claim 1, the received user preference comprising at least one of a preference identifying the mode, a channel quality indicator (CQI), multiple modes along and related CQIs for at least one of the multiple modes, and differentials between the CQIs for at least of the modes.
 6. A method of determining a user's preference of a transmission mode, comprising: determining channel characteristics of a user; selecting a transmission mode or modes from a codebook to apply; and transmitting an identifier of the mode or modes selected.
 7. The method of claim 6, determining channel characteristics of a user comprises determining by utilizing a CQI, power offsets, signal strengths, and other sector interference information.
 8. The method of claim 6, wherein the codebook includes entries for transmission modes including precoding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO-SDMA), MIMO precoding, and a diversity.
 9. The method of claim 6, the channel information comprising at least one metric that is utilized to select the transmission mode or modes to apply.
 10. The method of claim 9, the metric comprising at least one of a CQI for preceding, CQI for SMDA, and CQI for diversity mode.
 11. A wireless communication device, comprising: a processor configured to select a transmission mode of a plurality of transmission modes from a codebook; and a memory coupled with the processor.
 12. The wireless communication device of claim 11, wherein the codebook includes entries for transmission modes including precoding, space division multiple access (SDMA), SDMA precoding, multiple input multiple output (MIMO), MIMO precoding, MIMO-SDMA, and a diversity.
 13. The wireless communication device of claim 11, wherein each entry of the codebook corresponds to a mode of transmission.
 14. The wireless communication device of claim 11, the processor automatically accesses a different codebook as the device is moved among different base stations.
 15. The wireless communication device of claim 11, the processor receives a different codebook from which to select a transmission mode as device is moved among different base stations.
 16. A wireless communication device comprising: means for processing a received a user preference for a transmission mode; means for associating the preference with an entry or entries in a codebook; and means for assigning the user to a transmission mode corresponding to the entry or entries.
 17. The wireless communication device of claim 16, wherein the codebook includes entries for transmission modes including preceding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO), MIMO preceding, MIMO-SDMA and a diversity.
 18. The wireless communication device of claim 16, wherein each entry corresponds to a transmission mode.
 19. A wireless communication device comprising: means for determining a channel characteristics of a user; means for selecting a transmission mode or modes from a codebook to apply; and means for transmitting an identifier of the mode or modes selected.
 20. The wireless communication device of claim 19, wherein means for determining a channel characteristics of a user comprises determining by utilizing a CQI, power offsets, signal strengths, and other sector interference information.
 21. The wireless communication device of claim 19, wherein the codebook includes entries for transmission modes including precoding, space division multiple access (SDMA), SDMA preceding, multiple input multiple output (MIMO), MIMO precoding, MIMO-SDMA, and a diversity.
 22. A computer-readable media including instructions stored thereon comprising: instructions for processing a received a user preference for a transmission mode; instructions for associating the user preference with an entry or entries in a codebook; and instructions for assigning the user to a transmission mode corresponding to the entry or entries. 